//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(+0.0 >>> '');
write(+0.0 >>> 0xa);
write(+0.0 >>> 04);
write(+0.0 >>> 'hello');
write(+0.0 >>> 'hel' + 'lo');
write(+0.0 >>> String(''));
write(+0.0 >>> String('hello'));
write(+0.0 >>> String('h' + 'ello'));
write(+0.0 >>> new String(''));
write(+0.0 >>> new String('hello'));
write(+0.0 >>> new String('he' + 'llo'));
write(+0.0 >>> new Object());
write(+0.0 >>> new Object());
write(+0.0 >>> [1, 2, 3]);
write(+0.0 >>> [1 ,2 , 3]);
write(+0.0 >>> new Array(3));
write(+0.0 >>> Array(3));
write(+0.0 >>> new Array(1 ,2 ,3));
write(+0.0 >>> Array(1));
write(+0.0 >>> foo);
write(1 >>> undefined);
write(1 >>> null);
write(1 >>> true);
write(1 >>> false);
write(1 >>> Boolean(true));
write(1 >>> Boolean(false));
write(1 >>> new Boolean(true));
write(1 >>> new Boolean(false));
write(1 >>> NaN);
write(1 >>> +0);
write(1 >>> -0);
write(1 >>> 0);
write(1 >>> 0.0);
write(1 >>> -0.0);
write(1 >>> +0.0);
write(1 >>> 1);
write(1 >>> 10);
write(1 >>> 10.0);
write(1 >>> 10.1);
write(1 >>> -1);
write(1 >>> -10);
write(1 >>> -10.0);
write(1 >>> -10.1);
write(1 >>> Number.MAX_VALUE);
write(1 >>> Number.MIN_VALUE);
write(1 >>> Number.NaN);
write(1 >>> Number.POSITIVE_INFINITY);
write(1 >>> Number.NEGATIVE_INFINITY);
write(1 >>> new Number(NaN));
write(1 >>> new Number(+0));
write(1 >>> new Number(-0));
write(1 >>> new Number(0));
write(1 >>> new Number(0.0));
write(1 >>> new Number(-0.0));
write(1 >>> new Number(+0.0));
write(1 >>> new Number(1));
write(1 >>> new Number(10));
write(1 >>> new Number(10.0));
write(1 >>> new Number(10.1));
write(1 >>> new Number(-1));
write(1 >>> new Number(-10));
write(1 >>> new Number(-10.0));
write(1 >>> new Number(-10.1));
write(1 >>> new Number(Number.MAX_VALUE));
write(1 >>> new Number(Number.MIN_VALUE));
write(1 >>> new Number(Number.NaN));
write(1 >>> new Number(Number.POSITIVE_INFINITY));
write(1 >>> new Number(Number.NEGATIVE_INFINITY));
write(1 >>> '');
write(1 >>> 0xa);
write(1 >>> 04);
write(1 >>> 'hello');
write(1 >>> 'hel' + 'lo');
write(1 >>> String(''));
write(1 >>> String('hello'));
write(1 >>> String('h' + 'ello'));
write(1 >>> new String(''));
write(1 >>> new String('hello'));
write(1 >>> new String('he' + 'llo'));
write(1 >>> new Object());
write(1 >>> new Object());
write(1 >>> [1, 2, 3]);
write(1 >>> [1 ,2 , 3]);
write(1 >>> new Array(3));
write(1 >>> Array(3));
write(1 >>> new Array(1 ,2 ,3));
write(1 >>> Array(1));
write(1 >>> foo);
write(10 >>> undefined);
write(10 >>> null);
write(10 >>> true);
write(10 >>> false);
write(10 >>> Boolean(true));
write(10 >>> Boolean(false));
write(10 >>> new Boolean(true));
write(10 >>> new Boolean(false));
write(10 >>> NaN);
write(10 >>> +0);
write(10 >>> -0);
write(10 >>> 0);
write(10 >>> 0.0);
write(10 >>> -0.0);
write(10 >>> +0.0);
write(10 >>> 1);
write(10 >>> 10);
write(10 >>> 10.0);
write(10 >>> 10.1);
write(10 >>> -1);
write(10 >>> -10);
write(10 >>> -10.0);
write(10 >>> -10.1);
write(10 >>> Number.MAX_VALUE);
write(10 >>> Number.MIN_VALUE);
write(10 >>> Number.NaN);
write(10 >>> Number.POSITIVE_INFINITY);
write(10 >>> Number.NEGATIVE_INFINITY);
write(10 >>> new Number(NaN));
write(10 >>> new Number(+0));
write(10 >>> new Number(-0));
write(10 >>> new Number(0));
write(10 >>> new Number(0.0));
write(10 >>> new Number(-0.0));
write(10 >>> new Number(+0.0));
write(10 >>> new Number(1));
write(10 >>> new Number(10));
write(10 >>> new Number(10.0));
write(10 >>> new Number(10.1));
write(10 >>> new Number(-1));
write(10 >>> new Number(-10));
write(10 >>> new Number(-10.0));
write(10 >>> new Number(-10.1));
write(10 >>> new Number(Number.MAX_VALUE));
write(10 >>> new Number(Number.MIN_VALUE));
write(10 >>> new Number(Number.NaN));
write(10 >>> new Number(Number.POSITIVE_INFINITY));
write(10 >>> new Number(Number.NEGATIVE_INFINITY));
write(10 >>> '');
write(10 >>> 0xa);
write(10 >>> 04);
write(10 >>> 'hello');
write(10 >>> 'hel' + 'lo');
write(10 >>> String(''));
write(10 >>> String('hello'));
write(10 >>> String('h' + 'ello'));
write(10 >>> new String(''));
write(10 >>> new String('hello'));
write(10 >>> new String('he' + 'llo'));
write(10 >>> new Object());
write(10 >>> new Object());
write(10 >>> [1, 2, 3]);
write(10 >>> [1 ,2 , 3]);
write(10 >>> new Array(3));
write(10 >>> Array(3));
write(10 >>> new Array(1 ,2 ,3));
write(10 >>> Array(1));
write(10 >>> foo);
write(10.0 >>> undefined);
write(10.0 >>> null);
write(10.0 >>> true);
write(10.0 >>> false);
write(10.0 >>> Boolean(true));
write(10.0 >>> Boolean(false));
write(10.0 >>> new Boolean(true));
write(10.0 >>> new Boolean(false));
write(10.0 >>> NaN);
write(10.0 >>> +0);
write(10.0 >>> -0);
write(10.0 >>> 0);
write(10.0 >>> 0.0);
write(10.0 >>> -0.0);
write(10.0 >>> +0.0);
write(10.0 >>> 1);
write(10.0 >>> 10);
write(10.0 >>> 10.0);
write(10.0 >>> 10.1);
write(10.0 >>> -1);
write(10.0 >>> -10);
write(10.0 >>> -10.0);
write(10.0 >>> -10.1);
write(10.0 >>> Number.MAX_VALUE);
write(10.0 >>> Number.MIN_VALUE);
write(10.0 >>> Number.NaN);
write(10.0 >>> Number.POSITIVE_INFINITY);
write(10.0 >>> Number.NEGATIVE_INFINITY);
write(10.0 >>> new Number(NaN));
write(10.0 >>> new Number(+0));
write(10.0 >>> new Number(-0));
write(10.0 >>> new Number(0));
write(10.0 >>> new Number(0.0));
write(10.0 >>> new Number(-0.0));
write(10.0 >>> new Number(+0.0));
write(10.0 >>> new Number(1));
write(10.0 >>> new Number(10));
write(10.0 >>> new Number(10.0));
write(10.0 >>> new Number(10.1));
write(10.0 >>> new Number(-1));
write(10.0 >>> new Number(-10));
write(10.0 >>> new Number(-10.0));
write(10.0 >>> new Number(-10.1));
write(10.0 >>> new Number(Number.MAX_VALUE));
write(10.0 >>> new Number(Number.MIN_VALUE));
write(10.0 >>> new Number(Number.NaN));
write(10.0 >>> new Number(Number.POSITIVE_INFINITY));
write(10.0 >>> new Number(Number.NEGATIVE_INFINITY));
write(10.0 >>> '');
write(10.0 >>> 0xa);
write(10.0 >>> 04);
write(10.0 >>> 'hello');
write(10.0 >>> 'hel' + 'lo');
write(10.0 >>> String(''));
write(10.0 >>> String('hello'));
write(10.0 >>> String('h' + 'ello'));
write(10.0 >>> new String(''));
write(10.0 >>> new String('hello'));
write(10.0 >>> new String('he' + 'llo'));
write(10.0 >>> new Object());
write(10.0 >>> new Object());
write(10.0 >>> [1, 2, 3]);
write(10.0 >>> [1 ,2 , 3]);
write(10.0 >>> new Array(3));
write(10.0 >>> Array(3));
write(10.0 >>> new Array(1 ,2 ,3));
write(10.0 >>> Array(1));
write(10.0 >>> foo);
write(10.1 >>> undefined);
write(10.1 >>> null);
write(10.1 >>> true);
write(10.1 >>> false);
write(10.1 >>> Boolean(true));
write(10.1 >>> Boolean(false));
write(10.1 >>> new Boolean(true));
write(10.1 >>> new Boolean(false));
write(10.1 >>> NaN);
write(10.1 >>> +0);
write(10.1 >>> -0);
write(10.1 >>> 0);
write(10.1 >>> 0.0);
write(10.1 >>> -0.0);
write(10.1 >>> +0.0);
write(10.1 >>> 1);
write(10.1 >>> 10);
write(10.1 >>> 10.0);
write(10.1 >>> 10.1);
write(10.1 >>> -1);
write(10.1 >>> -10);
write(10.1 >>> -10.0);
write(10.1 >>> -10.1);
write(10.1 >>> Number.MAX_VALUE);
write(10.1 >>> Number.MIN_VALUE);
write(10.1 >>> Number.NaN);
write(10.1 >>> Number.POSITIVE_INFINITY);
write(10.1 >>> Number.NEGATIVE_INFINITY);
write(10.1 >>> new Number(NaN));
write(10.1 >>> new Number(+0));
write(10.1 >>> new Number(-0));
write(10.1 >>> new Number(0));
write(10.1 >>> new Number(0.0));
write(10.1 >>> new Number(-0.0));
write(10.1 >>> new Number(+0.0));
write(10.1 >>> new Number(1));
write(10.1 >>> new Number(10));
write(10.1 >>> new Number(10.0));
write(10.1 >>> new Number(10.1));
write(10.1 >>> new Number(-1));
write(10.1 >>> new Number(-10));
write(10.1 >>> new Number(-10.0));
write(10.1 >>> new Number(-10.1));
write(10.1 >>> new Number(Number.MAX_VALUE));
write(10.1 >>> new Number(Number.MIN_VALUE));
write(10.1 >>> new Number(Number.NaN));
write(10.1 >>> new Number(Number.POSITIVE_INFINITY));
write(10.1 >>> new Number(Number.NEGATIVE_INFINITY));
write(10.1 >>> '');
write(10.1 >>> 0xa);
write(10.1 >>> 04);
write(10.1 >>> 'hello');
write(10.1 >>> 'hel' + 'lo');
write(10.1 >>> String(''));
write(10.1 >>> String('hello'));
write(10.1 >>> String('h' + 'ello'));
write(10.1 >>> new String(''));
write(10.1 >>> new String('hello'));
write(10.1 >>> new String('he' + 'llo'));
write(10.1 >>> new Object());
write(10.1 >>> new Object());
write(10.1 >>> [1, 2, 3]);
write(10.1 >>> [1 ,2 , 3]);
write(10.1 >>> new Array(3));
write(10.1 >>> Array(3));
write(10.1 >>> new Array(1 ,2 ,3));
write(10.1 >>> Array(1));
write(10.1 >>> foo);
write(-1 >>> undefined);
write(-1 >>> null);
write(-1 >>> true);
write(-1 >>> false);
write(-1 >>> Boolean(true));
write(-1 >>> Boolean(false));
write(-1 >>> new Boolean(true));
write(-1 >>> new Boolean(false));
write(-1 >>> NaN);
write(-1 >>> +0);
write(-1 >>> -0);
write(-1 >>> 0);
write(-1 >>> 0.0);
write(-1 >>> -0.0);
write(-1 >>> +0.0);
write(-1 >>> 1);
write(-1 >>> 10);
write(-1 >>> 10.0);
write(-1 >>> 10.1);
write(-1 >>> -1);
write(-1 >>> -10);
write(-1 >>> -10.0);
write(-1 >>> -10.1);
write(-1 >>> Number.MAX_VALUE);
write(-1 >>> Number.MIN_VALUE);
write(-1 >>> Number.NaN);
write(-1 >>> Number.POSITIVE_INFINITY);
write(-1 >>> Number.NEGATIVE_INFINITY);
write(-1 >>> new Number(NaN));
write(-1 >>> new Number(+0));
write(-1 >>> new Number(-0));
write(-1 >>> new Number(0));
write(-1 >>> new Number(0.0));
write(-1 >>> new Number(-0.0));
write(-1 >>> new Number(+0.0));
write(-1 >>> new Number(1));
write(-1 >>> new Number(10));
write(-1 >>> new Number(10.0));
write(-1 >>> new Number(10.1));
write(-1 >>> new Number(-1));
write(-1 >>> new Number(-10));
write(-1 >>> new Number(-10.0));
write(-1 >>> new Number(-10.1));
write(-1 >>> new Number(Number.MAX_VALUE));
write(-1 >>> new Number(Number.MIN_VALUE));
write(-1 >>> new Number(Number.NaN));
write(-1 >>> new Number(Number.POSITIVE_INFINITY));
write(-1 >>> new Number(Number.NEGATIVE_INFINITY));
write(-1 >>> '');
write(-1 >>> 0xa);
write(-1 >>> 04);
write(-1 >>> 'hello');
write(-1 >>> 'hel' + 'lo');
write(-1 >>> String(''));
write(-1 >>> String('hello'));
write(-1 >>> String('h' + 'ello'));
write(-1 >>> new String(''));
write(-1 >>> new String('hello'));
write(-1 >>> new String('he' + 'llo'));
write(-1 >>> new Object());
write(-1 >>> new Object());
write(-1 >>> [1, 2, 3]);
write(-1 >>> [1 ,2 , 3]);
write(-1 >>> new Array(3));
write(-1 >>> Array(3));
write(-1 >>> new Array(1 ,2 ,3));
write(-1 >>> Array(1));
write(-1 >>> foo);
write(-10 >>> undefined);
write(-10 >>> null);
write(-10 >>> true);
write(-10 >>> false);
write(-10 >>> Boolean(true));
write(-10 >>> Boolean(false));
write(-10 >>> new Boolean(true));
write(-10 >>> new Boolean(false));
write(-10 >>> NaN);
write(-10 >>> +0);
write(-10 >>> -0);
write(-10 >>> 0);
write(-10 >>> 0.0);
write(-10 >>> -0.0);
write(-10 >>> +0.0);
write(-10 >>> 1);
write(-10 >>> 10);
write(-10 >>> 10.0);
write(-10 >>> 10.1);
write(-10 >>> -1);
write(-10 >>> -10);
write(-10 >>> -10.0);
write(-10 >>> -10.1);
write(-10 >>> Number.MAX_VALUE);
write(-10 >>> Number.MIN_VALUE);
write(-10 >>> Number.NaN);
write(-10 >>> Number.POSITIVE_INFINITY);
write(-10 >>> Number.NEGATIVE_INFINITY);
write(-10 >>> new Number(NaN));
write(-10 >>> new Number(+0));
write(-10 >>> new Number(-0));
write(-10 >>> new Number(0));
write(-10 >>> new Number(0.0));
write(-10 >>> new Number(-0.0));
write(-10 >>> new Number(+0.0));
write(-10 >>> new Number(1));
write(-10 >>> new Number(10));
write(-10 >>> new Number(10.0));
write(-10 >>> new Number(10.1));
write(-10 >>> new Number(-1));
write(-10 >>> new Number(-10));
write(-10 >>> new Number(-10.0));
write(-10 >>> new Number(-10.1));
write(-10 >>> new Number(Number.MAX_VALUE));
write(-10 >>> new Number(Number.MIN_VALUE));
write(-10 >>> new Number(Number.NaN));
write(-10 >>> new Number(Number.POSITIVE_INFINITY));
write(-10 >>> new Number(Number.NEGATIVE_INFINITY));
write(-10 >>> '');
write(-10 >>> 0xa);
write(-10 >>> 04);
write(-10 >>> 'hello');
write(-10 >>> 'hel' + 'lo');
write(-10 >>> String(''));
write(-10 >>> String('hello'));
write(-10 >>> String('h' + 'ello'));
write(-10 >>> new String(''));
write(-10 >>> new String('hello'));
write(-10 >>> new String('he' + 'llo'));
write(-10 >>> new Object());
write(-10 >>> new Object());
write(-10 >>> [1, 2, 3]);
write(-10 >>> [1 ,2 , 3]);
write(-10 >>> new Array(3));
write(-10 >>> Array(3));
write(-10 >>> new Array(1 ,2 ,3));
write(-10 >>> Array(1));
write(-10 >>> foo);
write(-10.0 >>> undefined);
write(-10.0 >>> null);
write(-10.0 >>> true);
write(-10.0 >>> false);
write(-10.0 >>> Boolean(true));
write(-10.0 >>> Boolean(false));
write(-10.0 >>> new Boolean(true));
write(-10.0 >>> new Boolean(false));
write(-10.0 >>> NaN);
write(-10.0 >>> +0);
write(-10.0 >>> -0);
write(-10.0 >>> 0);
write(-10.0 >>> 0.0);
write(-10.0 >>> -0.0);
write(-10.0 >>> +0.0);
write(-10.0 >>> 1);
write(-10.0 >>> 10);
write(-10.0 >>> 10.0);
write(-10.0 >>> 10.1);
write(-10.0 >>> -1);
write(-10.0 >>> -10);
write(-10.0 >>> -10.0);
write(-10.0 >>> -10.1);
write(-10.0 >>> Number.MAX_VALUE);
write(-10.0 >>> Number.MIN_VALUE);
write(-10.0 >>> Number.NaN);
write(-10.0 >>> Number.POSITIVE_INFINITY);
write(-10.0 >>> Number.NEGATIVE_INFINITY);
write(-10.0 >>> new Number(NaN));
write(-10.0 >>> new Number(+0));
write(-10.0 >>> new Number(-0));
write(-10.0 >>> new Number(0));
write(-10.0 >>> new Number(0.0));
write(-10.0 >>> new Number(-0.0));
write(-10.0 >>> new Number(+0.0));
write(-10.0 >>> new Number(1));
write(-10.0 >>> new Number(10));
write(-10.0 >>> new Number(10.0));
write(-10.0 >>> new Number(10.1));
write(-10.0 >>> new Number(-1));
write(-10.0 >>> new Number(-10));
write(-10.0 >>> new Number(-10.0));
write(-10.0 >>> new Number(-10.1));
write(-10.0 >>> new Number(Number.MAX_VALUE));
write(-10.0 >>> new Number(Number.MIN_VALUE));
write(-10.0 >>> new Number(Number.NaN));
write(-10.0 >>> new Number(Number.POSITIVE_INFINITY));
write(-10.0 >>> new Number(Number.NEGATIVE_INFINITY));
write(-10.0 >>> '');
write(-10.0 >>> 0xa);
write(-10.0 >>> 04);
write(-10.0 >>> 'hello');
write(-10.0 >>> 'hel' + 'lo');
write(-10.0 >>> String(''));
write(-10.0 >>> String('hello'));
write(-10.0 >>> String('h' + 'ello'));
write(-10.0 >>> new String(''));
write(-10.0 >>> new String('hello'));
write(-10.0 >>> new String('he' + 'llo'));
write(-10.0 >>> new Object());
write(-10.0 >>> new Object());
write(-10.0 >>> [1, 2, 3]);
write(-10.0 >>> [1 ,2 , 3]);
write(-10.0 >>> new Array(3));
write(-10.0 >>> Array(3));
write(-10.0 >>> new Array(1 ,2 ,3));
write(-10.0 >>> Array(1));
write(-10.0 >>> foo);
write(-10.1 >>> undefined);
write(-10.1 >>> null);
write(-10.1 >>> true);
write(-10.1 >>> false);
write(-10.1 >>> Boolean(true));
write(-10.1 >>> Boolean(false));
write(-10.1 >>> new Boolean(true));
write(-10.1 >>> new Boolean(false));
write(-10.1 >>> NaN);
write(-10.1 >>> +0);
write(-10.1 >>> -0);
write(-10.1 >>> 0);
write(-10.1 >>> 0.0);
write(-10.1 >>> -0.0);
write(-10.1 >>> +0.0);
write(-10.1 >>> 1);
write(-10.1 >>> 10);
write(-10.1 >>> 10.0);
write(-10.1 >>> 10.1);
write(-10.1 >>> -1);
write(-10.1 >>> -10);
write(-10.1 >>> -10.0);
write(-10.1 >>> -10.1);
write(-10.1 >>> Number.MAX_VALUE);
write(-10.1 >>> Number.MIN_VALUE);
write(-10.1 >>> Number.NaN);
write(-10.1 >>> Number.POSITIVE_INFINITY);
write(-10.1 >>> Number.NEGATIVE_INFINITY);
write(-10.1 >>> new Number(NaN));
write(-10.1 >>> new Number(+0));
write(-10.1 >>> new Number(-0));
write(-10.1 >>> new Number(0));
write(-10.1 >>> new Number(0.0));
write(-10.1 >>> new Number(-0.0));
write(-10.1 >>> new Number(+0.0));
write(-10.1 >>> new Number(1));
write(-10.1 >>> new Number(10));
write(-10.1 >>> new Number(10.0));
write(-10.1 >>> new Number(10.1));
write(-10.1 >>> new Number(-1));
write(-10.1 >>> new Number(-10));
write(-10.1 >>> new Number(-10.0));
write(-10.1 >>> new Number(-10.1));
write(-10.1 >>> new Number(Number.MAX_VALUE));
write(-10.1 >>> new Number(Number.MIN_VALUE));
write(-10.1 >>> new Number(Number.NaN));
write(-10.1 >>> new Number(Number.POSITIVE_INFINITY));
write(-10.1 >>> new Number(Number.NEGATIVE_INFINITY));
write(-10.1 >>> '');
write(-10.1 >>> 0xa);
write(-10.1 >>> 04);
write(-10.1 >>> 'hello');
write(-10.1 >>> 'hel' + 'lo');
write(-10.1 >>> String(''));
write(-10.1 >>> String('hello'));
write(-10.1 >>> String('h' + 'ello'));
write(-10.1 >>> new String(''));
write(-10.1 >>> new String('hello'));
write(-10.1 >>> new String('he' + 'llo'));
write(-10.1 >>> new Object());
write(-10.1 >>> new Object());
write(-10.1 >>> [1, 2, 3]);
write(-10.1 >>> [1 ,2 , 3]);
write(-10.1 >>> new Array(3));
write(-10.1 >>> Array(3));
write(-10.1 >>> new Array(1 ,2 ,3));
write(-10.1 >>> Array(1));
write(-10.1 >>> foo);
write(Number.MAX_VALUE >>> undefined);
write(Number.MAX_VALUE >>> null);
write(Number.MAX_VALUE >>> true);
write(Number.MAX_VALUE >>> false);
write(Number.MAX_VALUE >>> Boolean(true));
write(Number.MAX_VALUE >>> Boolean(false));
write(Number.MAX_VALUE >>> new Boolean(true));
write(Number.MAX_VALUE >>> new Boolean(false));
write(Number.MAX_VALUE >>> NaN);
write(Number.MAX_VALUE >>> +0);
write(Number.MAX_VALUE >>> -0);
write(Number.MAX_VALUE >>> 0);
write(Number.MAX_VALUE >>> 0.0);
write(Number.MAX_VALUE >>> -0.0);
write(Number.MAX_VALUE >>> +0.0);
write(Number.MAX_VALUE >>> 1);
write(Number.MAX_VALUE >>> 10);
write(Number.MAX_VALUE >>> 10.0);
write(Number.MAX_VALUE >>> 10.1);
write(Number.MAX_VALUE >>> -1);
write(Number.MAX_VALUE >>> -10);
write(Number.MAX_VALUE >>> -10.0);
write(Number.MAX_VALUE >>> -10.1);
write(Number.MAX_VALUE >>> Number.MAX_VALUE);
write(Number.MAX_VALUE >>> Number.MIN_VALUE);
write(Number.MAX_VALUE >>> Number.NaN);
write(Number.MAX_VALUE >>> Number.POSITIVE_INFINITY);
write(Number.MAX_VALUE >>> Number.NEGATIVE_INFINITY);
write(Number.MAX_VALUE >>> new Number(NaN));
write(Number.MAX_VALUE >>> new Number(+0));
write(Number.MAX_VALUE >>> new Number(-0));
write(Number.MAX_VALUE >>> new Number(0));
write(Number.MAX_VALUE >>> new Number(0.0));
write(Number.MAX_VALUE >>> new Number(-0.0));
write(Number.MAX_VALUE >>> new Number(+0.0));
write(Number.MAX_VALUE >>> new Number(1));
write(Number.MAX_VALUE >>> new Number(10));
write(Number.MAX_VALUE >>> new Number(10.0));
write(Number.MAX_VALUE >>> new Number(10.1));
write(Number.MAX_VALUE >>> new Number(-1));
write(Number.MAX_VALUE >>> new Number(-10));
write(Number.MAX_VALUE >>> new Number(-10.0));
write(Number.MAX_VALUE >>> new Number(-10.1));
write(Number.MAX_VALUE >>> new Number(Number.MAX_VALUE));
write(Number.MAX_VALUE >>> new Number(Number.MIN_VALUE));
write(Number.MAX_VALUE >>> new Number(Number.NaN));
write(Number.MAX_VALUE >>> new Number(Number.POSITIVE_INFINITY));
write(Number.MAX_VALUE >>> new Number(Number.NEGATIVE_INFINITY));
write(Number.MAX_VALUE >>> '');
write(Number.MAX_VALUE >>> 0xa);
write(Number.MAX_VALUE >>> 04);
write(Number.MAX_VALUE >>> 'hello');
write(Number.MAX_VALUE >>> 'hel' + 'lo');
write(Number.MAX_VALUE >>> String(''));
write(Number.MAX_VALUE >>> String('hello'));
write(Number.MAX_VALUE >>> String('h' + 'ello'));
write(Number.MAX_VALUE >>> new String(''));
write(Number.MAX_VALUE >>> new String('hello'));
write(Number.MAX_VALUE >>> new String('he' + 'llo'));
write(Number.MAX_VALUE >>> new Object());
write(Number.MAX_VALUE >>> new Object());
write(Number.MAX_VALUE >>> [1, 2, 3]);
write(Number.MAX_VALUE >>> [1 ,2 , 3]);
write(Number.MAX_VALUE >>> new Array(3));
write(Number.MAX_VALUE >>> Array(3));
write(Number.MAX_VALUE >>> new Array(1 ,2 ,3));
write(Number.MAX_VALUE >>> Array(1));
write(Number.MAX_VALUE >>> foo);
write(Number.MIN_VALUE >>> undefined);
write(Number.MIN_VALUE >>> null);
write(Number.MIN_VALUE >>> true);
write(Number.MIN_VALUE >>> false);
write(Number.MIN_VALUE >>> Boolean(true));
write(Number.MIN_VALUE >>> Boolean(false));
write(Number.MIN_VALUE >>> new Boolean(true));
write(Number.MIN_VALUE >>> new Boolean(false));
write(Number.MIN_VALUE >>> NaN);
write(Number.MIN_VALUE >>> +0);
write(Number.MIN_VALUE >>> -0);
write(Number.MIN_VALUE >>> 0);
write(Number.MIN_VALUE >>> 0.0);
write(Number.MIN_VALUE >>> -0.0);
write(Number.MIN_VALUE >>> +0.0);
write(Number.MIN_VALUE >>> 1);
write(Number.MIN_VALUE >>> 10);
write(Number.MIN_VALUE >>> 10.0);
write(Number.MIN_VALUE >>> 10.1);
write(Number.MIN_VALUE >>> -1);
write(Number.MIN_VALUE >>> -10);
write(Number.MIN_VALUE >>> -10.0);
write(Number.MIN_VALUE >>> -10.1);
write(Number.MIN_VALUE >>> Number.MAX_VALUE);
write(Number.MIN_VALUE >>> Number.MIN_VALUE);
write(Number.MIN_VALUE >>> Number.NaN);
write(Number.MIN_VALUE >>> Number.POSITIVE_INFINITY);
write(Number.MIN_VALUE >>> Number.NEGATIVE_INFINITY);
write(Number.MIN_VALUE >>> new Number(NaN));
write(Number.MIN_VALUE >>> new Number(+0));
write(Number.MIN_VALUE >>> new Number(-0));
write(Number.MIN_VALUE >>> new Number(0));
write(Number.MIN_VALUE >>> new Number(0.0));
write(Number.MIN_VALUE >>> new Number(-0.0));
write(Number.MIN_VALUE >>> new Number(+0.0));
write(Number.MIN_VALUE >>> new Number(1));
write(Number.MIN_VALUE >>> new Number(10));
write(Number.MIN_VALUE >>> new Number(10.0));
write(Number.MIN_VALUE >>> new Number(10.1));
write(Number.MIN_VALUE >>> new Number(-1));
write(Number.MIN_VALUE >>> new Number(-10));
write(Number.MIN_VALUE >>> new Number(-10.0));
write(Number.MIN_VALUE >>> new Number(-10.1));
write(Number.MIN_VALUE >>> new Number(Number.MAX_VALUE));
write(Number.MIN_VALUE >>> new Number(Number.MIN_VALUE));
write(Number.MIN_VALUE >>> new Number(Number.NaN));
write(Number.MIN_VALUE >>> new Number(Number.POSITIVE_INFINITY));
write(Number.MIN_VALUE >>> new Number(Number.NEGATIVE_INFINITY));
write(Number.MIN_VALUE >>> '');
write(Number.MIN_VALUE >>> 0xa);
write(Number.MIN_VALUE >>> 04);
write(Number.MIN_VALUE >>> 'hello');
write(Number.MIN_VALUE >>> 'hel' + 'lo');
write(Number.MIN_VALUE >>> String(''));
write(Number.MIN_VALUE >>> String('hello'));
write(Number.MIN_VALUE >>> String('h' + 'ello'));
write(Number.MIN_VALUE >>> new String(''));
write(Number.MIN_VALUE >>> new String('hello'));
write(Number.MIN_VALUE >>> new String('he' + 'llo'));
write(Number.MIN_VALUE >>> new Object());
write(Number.MIN_VALUE >>> new Object());
write(Number.MIN_VALUE >>> [1, 2, 3]);
write(Number.MIN_VALUE >>> [1 ,2 , 3]);
write(Number.MIN_VALUE >>> new Array(3));
write(Number.MIN_VALUE >>> Array(3));
write(Number.MIN_VALUE >>> new Array(1 ,2 ,3));
write(Number.MIN_VALUE >>> Array(1));
write(Number.MIN_VALUE >>> foo);
write(Number.NaN >>> undefined);
write(Number.NaN >>> null);
write(Number.NaN >>> true);
write(Number.NaN >>> false);
write(Number.NaN >>> Boolean(true));
write(Number.NaN >>> Boolean(false));
write(Number.NaN >>> new Boolean(true));
write(Number.NaN >>> new Boolean(false));
write(Number.NaN >>> NaN);
write(Number.NaN >>> +0);
write(Number.NaN >>> -0);
write(Number.NaN >>> 0);
write(Number.NaN >>> 0.0);
write(Number.NaN >>> -0.0);
write(Number.NaN >>> +0.0);
write(Number.NaN >>> 1);
write(Number.NaN >>> 10);
write(Number.NaN >>> 10.0);
write(Number.NaN >>> 10.1);
write(Number.NaN >>> -1);
write(Number.NaN >>> -10);
write(Number.NaN >>> -10.0);
write(Number.NaN >>> -10.1);
write(Number.NaN >>> Number.MAX_VALUE);
write(Number.NaN >>> Number.MIN_VALUE);
write(Number.NaN >>> Number.NaN);
write(Number.NaN >>> Number.POSITIVE_INFINITY);
write(Number.NaN >>> Number.NEGATIVE_INFINITY);
write(Number.NaN >>> new Number(NaN));
write(Number.NaN >>> new Number(+0));
write(Number.NaN >>> new Number(-0));
write(Number.NaN >>> new Number(0));
write(Number.NaN >>> new Number(0.0));
write(Number.NaN >>> new Number(-0.0));
write(Number.NaN >>> new Number(+0.0));
write(Number.NaN >>> new Number(1));
write(Number.NaN >>> new Number(10));
write(Number.NaN >>> new Number(10.0));
write(Number.NaN >>> new Number(10.1));
write(Number.NaN >>> new Number(-1));
write(Number.NaN >>> new Number(-10));
write(Number.NaN >>> new Number(-10.0));
write(Number.NaN >>> new Number(-10.1));
write(Number.NaN >>> new Number(Number.MAX_VALUE));
write(Number.NaN >>> new Number(Number.MIN_VALUE));
write(Number.NaN >>> new Number(Number.NaN));
write(Number.NaN >>> new Number(Number.POSITIVE_INFINITY));
write(Number.NaN >>> new Number(Number.NEGATIVE_INFINITY));
write(Number.NaN >>> '');
write(Number.NaN >>> 0xa);
write(Number.NaN >>> 04);
write(Number.NaN >>> 'hello');
write(Number.NaN >>> 'hel' + 'lo');
write(Number.NaN >>> String(''));
write(Number.NaN >>> String('hello'));
write(Number.NaN >>> String('h' + 'ello'));
write(Number.NaN >>> new String(''));
write(Number.NaN >>> new String('hello'));
write(Number.NaN >>> new String('he' + 'llo'));
write(Number.NaN >>> new Object());
write(Number.NaN >>> new Object());
write(Number.NaN >>> [1, 2, 3]);
write(Number.NaN >>> [1 ,2 , 3]);
write(Number.NaN >>> new Array(3));
write(Number.NaN >>> Array(3));
write(Number.NaN >>> new Array(1 ,2 ,3));
write(Number.NaN >>> Array(1));
write(Number.NaN >>> foo);
write(Number.POSITIVE_INFINITY >>> undefined);
write(Number.POSITIVE_INFINITY >>> null);
write(Number.POSITIVE_INFINITY >>> true);
write(Number.POSITIVE_INFINITY >>> false);
write(Number.POSITIVE_INFINITY >>> Boolean(true));
write(Number.POSITIVE_INFINITY >>> Boolean(false));
write(Number.POSITIVE_INFINITY >>> new Boolean(true));
write(Number.POSITIVE_INFINITY >>> new Boolean(false));
write(Number.POSITIVE_INFINITY >>> NaN);
write(Number.POSITIVE_INFINITY >>> +0);
write(Number.POSITIVE_INFINITY >>> -0);
write(Number.POSITIVE_INFINITY >>> 0);
write(Number.POSITIVE_INFINITY >>> 0.0);
write(Number.POSITIVE_INFINITY >>> -0.0);
write(Number.POSITIVE_INFINITY >>> +0.0);
write(Number.POSITIVE_INFINITY >>> 1);
write(Number.POSITIVE_INFINITY >>> 10);
write(Number.POSITIVE_INFINITY >>> 10.0);
write(Number.POSITIVE_INFINITY >>> 10.1);
write(Number.POSITIVE_INFINITY >>> -1);
write(Number.POSITIVE_INFINITY >>> -10);
write(Number.POSITIVE_INFINITY >>> -10.0);
write(Number.POSITIVE_INFINITY >>> -10.1);
write(Number.POSITIVE_INFINITY >>> Number.MAX_VALUE);
write(Number.POSITIVE_INFINITY >>> Number.MIN_VALUE);
write(Number.POSITIVE_INFINITY >>> Number.NaN);
write(Number.POSITIVE_INFINITY >>> Number.POSITIVE_INFINITY);
write(Number.POSITIVE_INFINITY >>> Number.NEGATIVE_INFINITY);
write(Number.POSITIVE_INFINITY >>> new Number(NaN));
write(Number.POSITIVE_INFINITY >>> new Number(+0));
write(Number.POSITIVE_INFINITY >>> new Number(-0));
write(Number.POSITIVE_INFINITY >>> new Number(0));
write(Number.POSITIVE_INFINITY >>> new Number(0.0));
write(Number.POSITIVE_INFINITY >>> new Number(-0.0));
write(Number.POSITIVE_INFINITY >>> new Number(+0.0));
write(Number.POSITIVE_INFINITY >>> new Number(1));
write(Number.POSITIVE_INFINITY >>> new Number(10));
write(Number.POSITIVE_INFINITY >>> new Number(10.0));
write(Number.POSITIVE_INFINITY >>> new Number(10.1));
write(Number.POSITIVE_INFINITY >>> new Number(-1));
write(Number.POSITIVE_INFINITY >>> new Number(-10));
write(Number.POSITIVE_INFINITY >>> new Number(-10.0));
write(Number.POSITIVE_INFINITY >>> new Number(-10.1));
write(Number.POSITIVE_INFINITY >>> new Number(Number.MAX_VALUE));
write(Number.POSITIVE_INFINITY >>> new Number(Number.MIN_VALUE));
write(Number.POSITIVE_INFINITY >>> new Number(Number.NaN));
write(Number.POSITIVE_INFINITY >>> new Number(Number.POSITIVE_INFINITY));
write(Number.POSITIVE_INFINITY >>> new Number(Number.NEGATIVE_INFINITY));
write(Number.POSITIVE_INFINITY >>> '');
write(Number.POSITIVE_INFINITY >>> 0xa);
write(Number.POSITIVE_INFINITY >>> 04);
write(Number.POSITIVE_INFINITY >>> 'hello');
write(Number.POSITIVE_INFINITY >>> 'hel' + 'lo');
write(Number.POSITIVE_INFINITY >>> String(''));
write(Number.POSITIVE_INFINITY >>> String('hello'));
write(Number.POSITIVE_INFINITY >>> String('h' + 'ello'));
write(Number.POSITIVE_INFINITY >>> new String(''));
write(Number.POSITIVE_INFINITY >>> new String('hello'));
write(Number.POSITIVE_INFINITY >>> new String('he' + 'llo'));
write(Number.POSITIVE_INFINITY >>> new Object());
write(Number.POSITIVE_INFINITY >>> new Object());
write(Number.POSITIVE_INFINITY >>> [1, 2, 3]);
write(Number.POSITIVE_INFINITY >>> [1 ,2 , 3]);
write(Number.POSITIVE_INFINITY >>> new Array(3));
write(Number.POSITIVE_INFINITY >>> Array(3));
write(Number.POSITIVE_INFINITY >>> new Array(1 ,2 ,3));
write(Number.POSITIVE_INFINITY >>> Array(1));
write(Number.POSITIVE_INFINITY >>> foo);
write(Number.NEGATIVE_INFINITY >>> undefined);
write(Number.NEGATIVE_INFINITY >>> null);
write(Number.NEGATIVE_INFINITY >>> true);
write(Number.NEGATIVE_INFINITY >>> false);
write(Number.NEGATIVE_INFINITY >>> Boolean(true));
write(Number.NEGATIVE_INFINITY >>> Boolean(false));
write(Number.NEGATIVE_INFINITY >>> new Boolean(true));
write(Number.NEGATIVE_INFINITY >>> new Boolean(false));
write(Number.NEGATIVE_INFINITY >>> NaN);
write(Number.NEGATIVE_INFINITY >>> +0);
write(Number.NEGATIVE_INFINITY >>> -0);
write(Number.NEGATIVE_INFINITY >>> 0);
write(Number.NEGATIVE_INFINITY >>> 0.0);
write(Number.NEGATIVE_INFINITY >>> -0.0);
write(Number.NEGATIVE_INFINITY >>> +0.0);
write(Number.NEGATIVE_INFINITY >>> 1);
write(Number.NEGATIVE_INFINITY >>> 10);
write(Number.NEGATIVE_INFINITY >>> 10.0);
write(Number.NEGATIVE_INFINITY >>> 10.1);
write(Number.NEGATIVE_INFINITY >>> -1);
write(Number.NEGATIVE_INFINITY >>> -10);
write(Number.NEGATIVE_INFINITY >>> -10.0);
write(Number.NEGATIVE_INFINITY >>> -10.1);
write(Number.NEGATIVE_INFINITY >>> Number.MAX_VALUE);
write(Number.NEGATIVE_INFINITY >>> Number.MIN_VALUE);
write(Number.NEGATIVE_INFINITY >>> Number.NaN);
write(Number.NEGATIVE_INFINITY >>> Number.POSITIVE_INFINITY);
write(Number.NEGATIVE_INFINITY >>> Number.NEGATIVE_INFINITY);
write(Number.NEGATIVE_INFINITY >>> new Number(NaN));
write(Number.NEGATIVE_INFINITY >>> new Number(+0));
write(Number.NEGATIVE_INFINITY >>> new Number(-0));
write(Number.NEGATIVE_INFINITY >>> new Number(0));
write(Number.NEGATIVE_INFINITY >>> new Number(0.0));
write(Number.NEGATIVE_INFINITY >>> new Number(-0.0));
write(Number.NEGATIVE_INFINITY >>> new Number(+0.0));
write(Number.NEGATIVE_INFINITY >>> new Number(1));
write(Number.NEGATIVE_INFINITY >>> new Number(10));
write(Number.NEGATIVE_INFINITY >>> new Number(10.0));
write(Number.NEGATIVE_INFINITY >>> new Number(10.1));
write(Number.NEGATIVE_INFINITY >>> new Number(-1));
write(Number.NEGATIVE_INFINITY >>> new Number(-10));
write(Number.NEGATIVE_INFINITY >>> new Number(-10.0));
write(Number.NEGATIVE_INFINITY >>> new Number(-10.1));
write(Number.NEGATIVE_INFINITY >>> new Number(Number.MAX_VALUE));
write(Number.NEGATIVE_INFINITY >>> new Number(Number.MIN_VALUE));
write(Number.NEGATIVE_INFINITY >>> new Number(Number.NaN));
write(Number.NEGATIVE_INFINITY >>> new Number(Number.POSITIVE_INFINITY));
write(Number.NEGATIVE_INFINITY >>> new Number(Number.NEGATIVE_INFINITY));
write(Number.NEGATIVE_INFINITY >>> '');
write(Number.NEGATIVE_INFINITY >>> 0xa);
write(Number.NEGATIVE_INFINITY >>> 04);
write(Number.NEGATIVE_INFINITY >>> 'hello');
write(Number.NEGATIVE_INFINITY >>> 'hel' + 'lo');
write(Number.NEGATIVE_INFINITY >>> String(''));
write(Number.NEGATIVE_INFINITY >>> String('hello'));
write(Number.NEGATIVE_INFINITY >>> String('h' + 'ello'));
write(Number.NEGATIVE_INFINITY >>> new String(''));
write(Number.NEGATIVE_INFINITY >>> new String('hello'));
write(Number.NEGATIVE_INFINITY >>> new String('he' + 'llo'));
write(Number.NEGATIVE_INFINITY >>> new Object());
write(Number.NEGATIVE_INFINITY >>> new Object());
write(Number.NEGATIVE_INFINITY >>> [1, 2, 3]);
write(Number.NEGATIVE_INFINITY >>> [1 ,2 , 3]);
write(Number.NEGATIVE_INFINITY >>> new Array(3));
write(Number.NEGATIVE_INFINITY >>> Array(3));
write(Number.NEGATIVE_INFINITY >>> new Array(1 ,2 ,3));
write(Number.NEGATIVE_INFINITY >>> Array(1));
write(Number.NEGATIVE_INFINITY >>> foo);
write(new Number(NaN) >>> undefined);
write(new Number(NaN) >>> null);
write(new Number(NaN) >>> true);
write(new Number(NaN) >>> false);
write(new Number(NaN) >>> Boolean(true));
write(new Number(NaN) >>> Boolean(false));
write(new Number(NaN) >>> new Boolean(true));
write(new Number(NaN) >>> new Boolean(false));
write(new Number(NaN) >>> NaN);
write(new Number(NaN) >>> +0);
write(new Number(NaN) >>> -0);
write(new Number(NaN) >>> 0);
write(new Number(NaN) >>> 0.0);
write(new Number(NaN) >>> -0.0);
write(new Number(NaN) >>> +0.0);
write(new Number(NaN) >>> 1);
write(new Number(NaN) >>> 10);
write(new Number(NaN) >>> 10.0);
write(new Number(NaN) >>> 10.1);
write(new Number(NaN) >>> -1);
write(new Number(NaN) >>> -10);
write(new Number(NaN) >>> -10.0);
write(new Number(NaN) >>> -10.1);
write(new Number(NaN) >>> Number.MAX_VALUE);
write(new Number(NaN) >>> Number.MIN_VALUE);
write(new Number(NaN) >>> Number.NaN);
write(new Number(NaN) >>> Number.POSITIVE_INFINITY);
write(new Number(NaN) >>> Number.NEGATIVE_INFINITY);
write(new Number(NaN) >>> new Number(NaN));
write(new Number(NaN) >>> new Number(+0));
write(new Number(NaN) >>> new Number(-0));
write(new Number(NaN) >>> new Number(0));
write(new Number(NaN) >>> new Number(0.0));
write(new Number(NaN) >>> new Number(-0.0));
write(new Number(NaN) >>> new Number(+0.0));
write(new Number(NaN) >>> new Number(1));
write(new Number(NaN) >>> new Number(10));
write(new Number(NaN) >>> new Number(10.0));
write(new Number(NaN) >>> new Number(10.1));
write(new Number(NaN) >>> new Number(-1));
write(new Number(NaN) >>> new Number(-10));
write(new Number(NaN) >>> new Number(-10.0));
write(new Number(NaN) >>> new Number(-10.1));
write(new Number(NaN) >>> new Number(Number.MAX_VALUE));
write(new Number(NaN) >>> new Number(Number.MIN_VALUE));
write(new Number(NaN) >>> new Number(Number.NaN));
write(new Number(NaN) >>> new Number(Number.POSITIVE_INFINITY));
write(new Number(NaN) >>> new Number(Number.NEGATIVE_INFINITY));
write(new Number(NaN) >>> '');
write(new Number(NaN) >>> 0xa);
write(new Number(NaN) >>> 04);
write(new Number(NaN) >>> 'hello');
write(new Number(NaN) >>> 'hel' + 'lo');
write(new Number(NaN) >>> String(''));
write(new Number(NaN) >>> String('hello'));
write(new Number(NaN) >>> String('h' + 'ello'));
write(new Number(NaN) >>> new String(''));
write(new Number(NaN) >>> new String('hello'));
write(new Number(NaN) >>> new String('he' + 'llo'));
write(new Number(NaN) >>> new Object());
write(new Number(NaN) >>> new Object());
write(new Number(NaN) >>> [1, 2, 3]);
write(new Number(NaN) >>> [1 ,2 , 3]);
write(new Number(NaN) >>> new Array(3));
write(new Number(NaN) >>> Array(3));
write(new Number(NaN) >>> new Array(1 ,2 ,3));
write(new Number(NaN) >>> Array(1));
write(new Number(NaN) >>> foo);
write(new Number(+0) >>> undefined);
write(new Number(+0) >>> null);
write(new Number(+0) >>> true);
write(new Number(+0) >>> false);
write(new Number(+0) >>> Boolean(true));
write(new Number(+0) >>> Boolean(false));
write(new Number(+0) >>> new Boolean(true));
write(new Number(+0) >>> new Boolean(false));
write(new Number(+0) >>> NaN);
write(new Number(+0) >>> +0);
write(new Number(+0) >>> -0);
write(new Number(+0) >>> 0);
write(new Number(+0) >>> 0.0);
write(new Number(+0) >>> -0.0);
write(new Number(+0) >>> +0.0);
write(new Number(+0) >>> 1);
write(new Number(+0) >>> 10);
write(new Number(+0) >>> 10.0);
write(new Number(+0) >>> 10.1);
write(new Number(+0) >>> -1);
write(new Number(+0) >>> -10);
write(new Number(+0) >>> -10.0);
write(new Number(+0) >>> -10.1);
write(new Number(+0) >>> Number.MAX_VALUE);
write(new Number(+0) >>> Number.MIN_VALUE);
write(new Number(+0) >>> Number.NaN);
write(new Number(+0) >>> Number.POSITIVE_INFINITY);
write(new Number(+0) >>> Number.NEGATIVE_INFINITY);
write(new Number(+0) >>> new Number(NaN));
